<?php
/*
 EXPLORER.INC.PHP by martin $ 2009/03/05 22:24:15
*/

checkADMIN();

$header = $body = '';
$version = 'ppExplorer v1.1';

if(p_('del') != ''){
 $target = array_keys($t=p_('del'));
 if(!empty($target[0])){
  @unlink($target[0]);
  if(p_('sub') == 'log' && is_file($target[0])){
   $del = PATH.LOG.$target[0];
   @exec("rm $del");
  }
  if(!is_file($target[0])){
   showMessage('ファイル '.$target[0].' を削除しました');
  } else showMessage('ファイル '.$target[0].' の削除に失敗しました！');
 }
}

$location = '
 <select name="sub" style="display: inline;" onchange="window.location=this.value;">
  <option value="admin.php?mode=explorer&amp;sub=cache"'.(v_('sub')=='cache'?' selected="selected"':'').'> キャッシュディレクトリ　</option>
  <option value="admin.php?mode=explorer&amp;sub=mov"'.(v_('sub')=='mov'?' selected="selected"':'').'>動画ディレクトリ　</option>
  <option value="admin.php?mode=explorer&amp;sub=attached"'.(v_('sub')=='attached'?' selected="selected"':'').'> 添付ディレクトリ　</option>
  <option value="admin.php?mode=explorer&amp;sub=log"'.(v_('sub')=='log'?' selected="selected"':'').'> logディレクトリ　</option>
  <option value="admin.php?mode=explorer&amp;sub=stat"'.(v_('sub')=='stat'?' selected="selected"':'').'> stat/dataディレクトリ　</option>
 </select>
';

if(v_('sub')==''||v_('sub')=='cache'){
 $body .= '
<div style="width:99%;">
 <h2>'.$version.'</h2>
<ul class="p2em" style="width: 390px; margin:1em auto;">
 <li> '.$location.'にあるファイルを一覧しています</li>
 <li> 強制的にキャッシュを削除したいときなどに</li>
 <li> 基本的に不要なファイルはありませんが，容量が気になる方は削除しても構いません. ただし，表示速度などのパフォーマンスに影響があるかもです</li>
</ul>
<form method="post" action="admin.php?mode=explorer">
<div class="hidden">
 <input type="hidden" name="sub" id="sub" value="cache" />
</div>
<table cellspacing="0" cellpadding="1"
 style="background: #fff; margin: auto; width: 420px; border: solid 1px #333;">
 <colgroup>
  <col style="width:auto;" />
  <col style="width:120px;" />
  <col style="width:90px;" />
  <col style="width:35px;" />
 </colgroup>
 <tr style="text-align:center;background:url(Images/grad.png);">
  <th>ファイル名</th><th>最終更新</th><th>　サイズ</th><th>削除</th>
 </tr>
';
 $cache_files = my_glob("db", DB);
 foreach ($cache_files as $i=>$file){
  $body .= ' <tr>
  <td class="lt">&nbsp;<img src="Images/file.png" alt="" /> '.basename($file).'</td><td>'.date('Y/m/d H:i', filemtime($file)).'</td><td class="rt">'.number_format(filesize($file)).' bytes</td>
  <td><input type="image" onclick="return my_confirm();" name="del['.($file).']" src="Images/trash.png" /></td>
 </tr>';
 }
 $body .= '</table></form>'.NL.'</div>'.NL;
}

if(v_('sub')=='mov'){
 $body .= '
<div style="width:99%;">
 <h2>'.$version.'</h2>
<ul class="p2em" style="width: 390px; margin:1em auto;">
 <li> '.$location.' にあるファイルを一覧しています</li>
 <li> リンクは直リンクになっています。クリックするか，右クリックで保存できるのではと思います</li>
</ul>
<form method="post" action="admin.php?mode=explorer&amp;sub=mov">
<div class="hidden">
 <input type="hidden" name="sub" id="sub" value="mov" />
</div>
<table cellspacing="0" cellpadding="1"
 style="background: #fff; margin: auto; width: 420px; border: solid 1px #333;">
 <colgroup>
  <col style="width:auto;" />
  <col style="width:120px;" />
  <col style="width:90px;" />
  <col style="width:35px;" />
 </colgroup>
 <tr style="text-align:center;background:url(Images/grad.png);">
  <th>ファイル名</th><th>最終更新</th><th>　サイズ</th><th>削除</th>
 </tr>
';
 $mov_files = my_glob("_", MEDIA_DIR);
 foreach ($mov_files as $i=>$file){
  $fname = preg_replace('|\d{9,}_|', '', $bn=basename($file));
  $body .= ' <tr>
  <td class="lt">&nbsp;<img src="Images/file.png" alt="" /> <a href="index.php?mode=download&amp;aim='.$bn.'">'.$fname.'</a></td><td>'.date('Y/m/d H:i', filemtime($file)).'</td><td class="rt">'.number_format(filesize($file)).' bytes</td>
  <td><input type="image" onclick="return my_confirm();" name="del['.($file).']" src="Images/trash.png" /></td>
 </tr>';
 }
 $body .= '</table></form>'.NL.'</div>'.NL;
}

if(v_('sub')=='attached'){
 $body .= '
<div style="width:99%;">
 <h2>'.$version.'</h2>
<ul class="p2em" style="width: 390px; margin:1em auto;">
 <li> '.$location.' にあるファイルを一覧しています</li>
 <li> 対象ファイルは，マウスクリックで保存できるのではと思います</li>
</ul>
<form method="post" action="admin.php?mode=explorer&amp;sub=mov">
<div class="hidden">
 <input type="hidden" name="sub" id="sub" value="attached" />
</div>
<table cellspacing="0" cellpadding="1"
 style="background: #fff; margin: auto; width: 420px; border: solid 1px #333;">
 <colgroup>
  <col style="width:140px;" />
  <col style="width:120px;" />
  <col style="width:90px;" />
  <col style="width:35px;" />
 </colgroup>
 <tr style="text-align:center;background:url(Images/grad.png);">
  <th>ファイル名</th><th>最終更新</th><th>　サイズ</th><th>削除</th>
 </tr>
';
 $at_files = my_glob("_", AFFIXED_DIR);
 foreach ($at_files as $i=>$file){
  $fname = preg_replace('|\d{9,}d?_|', '', $bn=basename($file));
  if(str_replace('NONALNUM-', '', $fname) != $fname){
   list($fname, $ext) = explode('.', str_replace('NONALNUM-', '', $fname));
   $fname = url_decode($fname).$ext;
  }
  $body .= ' <tr>
  <td class="lt">&nbsp;<img src="Images/file.png" alt="" /> <a href="index.php?mode=download&amp;aim='.$bn.'">'.$fname.'</a></td><td>'.date('Y/m/d H:i', filemtime($file)).'</td><td class="rt">'.number_format(filesize($file)).' bytes</td>
  <td><input type="image" onclick="return my_confirm();" name="del['.($file).']" src="Images/trash.png" /></td>
 </tr>';
 }
 $body .= '</table></form>'.NL.'</div>'.NL;
}

if(v_('sub')=='log'){
 $body .= '
<div style="width:99%;">
 <h2>'.$version.'</h2>
<ul class="p2em" style="width: 390px; margin:1em auto;">
 <li> '.$location.' にあるファイルを一覧しています</li>
 <li> 対象ファイルは，マウスクリックで保存できるのではと思います</li>
 <li> 削除ボタンを押すとログファイルが消えてしまうので慎重に。</li>
</ul>
<form method="post" action="admin.php?mode=explorer&amp;sub=log">
<div class="hidden">
 <input type="hidden" name="sub" id="sub" value="log" />
</div>
<table cellspacing="0" cellpadding="1"
 style="background: #fff; margin: auto; width: 420px; border: solid 1px #333;">
 <colgroup>
  <col style="width:140px;" />
  <col style="width:120px;" />
  <col style="width:90px;" />
  <col style="width:35px;" />
 </colgroup>
 <tr style="text-align:center;background:url(Images/grad.png);">
  <th>ファイル名</th><th>最終更新</th><th>　サイズ</th><th>削除</th>
 </tr>
';
 $log_files = my_glob(EXT, LOG);
 foreach ($log_files as $i=>$file){
  $fname = preg_replace('|\d{9,}_|', '', $bn=basename($file));
  $body .= ' <tr>
  <td class="lt">&nbsp;<img src="Images/file.png" alt="" /> <a href="index.php?mode=download&amp;aim='.$bn.'">'.$fname.'</a></td><td>'.date('Y/m/d H:i', filemtime($file)).'</td><td class="rt">'.number_format(filesize($file)).' bytes</td>
  <td><input type="image" onclick="return my_confirm();" name="del['.($file).']" src="Images/trash.png" /></td>
 </tr>';
 }
 $body .= '</table></form>'.NL.'</div>'.NL;
}

if(v_('sub')=='stat'){
 $body .= '
<div style="width:99%;">
 <h2>'.$version.'</h2>
<ul class="p2em" style="width: 390px; margin:1em auto;">
 <li> '.$location.' にあるファイルを一覧しています</li>
 <li> 対象ファイルは，マウスクリックで保存できるのではと思います</li>
 <li> 削除ボタンを押すとログファイルが消えてしまうので慎重に。</li>
</ul>
<form method="post" action="admin.php?mode=explorer&amp;sub=stat">
<div class="hidden">
 <input type="hidden" name="sub" id="sub" value="stat" />
</div>
<table cellspacing="0" cellpadding="1"
 style="background: #fff; margin: auto; width: 480px; border: solid 1px #333;">
 <colgroup>
  <col style="width:auto;" />
  <col style="width:120px;" />
  <col style="width:90px;" />
  <col style="width:35px;" />
 </colgroup>
 <tr style="text-align:center;background:url(Images/grad.png);">
  <th>ファイル名</th><th>最終更新</th><th>　サイズ</th><th>削除</th>
 </tr>
';
 $log_files = my_glob('.txt', 'stat/data/');
 foreach ($log_files as $i=>$file){
  $fname = preg_replace('|\d{9,}_|', '', $bn=basename($file));
  $body .= ' <tr>
  <td class="lt">&nbsp;<img src="Images/file.png" alt="" /> <a href="index.php?mode=download&amp;aim='.$bn.'">'.$fname.'</a></td><td>'.date('Y/m/d H:i', filemtime($file)).'</td><td class="rt">'.number_format(filesize($file)).' bytes</td>
  <td><input type="image" onclick="return my_confirm();" name="del['.($file).']" src="Images/trash.png" /></td>
 </tr>';
 }
 $body .= '</table></form>'.NL.'</div>'.NL;
}

return $DIVISION['body'] .= $header.$body;

?>
